//
//  ProblemOffer03.swift
//  TestProject
//
//  Created by 武侠 on 2021/7/5.
//  Copyright © 2021 zhulong. All rights reserved.
//

import UIKit

/*
 剑指 Offer 03. 数组中重复的数字 ✅
 找出数组中重复的数字。
 在一个长度为 n 的数组 nums 里的所有数字都在 0～n-1 的范围内。数组中某些数字是重复的，但不知道有几个数字重复了，也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

 示例 1：
     输入：
     [2, 3, 1, 0, 2, 5, 3]
     输出：2 或 3
 限制：2 <= n <= 100000
 */
@objcMembers class ProblemOffer03: NSObject {
    func solution() {
        print(findRepeatNumber([2, 3, 1, 0, 2, 5, 3]))
    }
    func findRepeatNumber(_ nums: [Int]) -> Int {
        var map:[Int: Int] = [:]
        for n in nums {
            if map[n] == nil {
                map[n] = 1
            } else {
                return n
            }
        }
        return -1
    }
}
